const http = require('http').createServer();
const socketio = require('socket.io')(http, {
    cors: {
        origin: "*",
        methods: ["GET", "POST"]
    }
});
// 通过http服务监听websocket连接建立成功的事件,一旦有客户端连接成功,
// 就会触发connection事件,执行后面的回调方法
// 并且传入socket对象,用于与该客户端进行数据交互
let count = 0; //用于记录当前在线人数
socketio.on('connection', (socket) => {
    console.log('有客户端连接进来了: ' + socket.id);
    count++;
    socketio.emit('usercount', count); //通知所有用户数量更新

    socket.on('disconnect', () => {
        count--;
        socketio.emit('usercount', count); //通知所有用户数量更新
    })


    socket.on('textmsg', (data) => {
        // 接收消息后，给所有客户端都发一遍
        console.log(socket.id + ":" + data);
        socketio.emit('textmsg', data);
    })
})

http.listen(3000, function() {
    console.log('server is running...');
})